package pe.gob.onpe.ejb;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ConstanciaVotacion entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "CONSTANCIA_VOTACION", schema = "SVENP", uniqueConstraints = {})
public class ConstanciaVotacion implements java.io.Serializable {

	// Fields
	private static final long serialVersionUID = -653354472863993718L;
	private String numerodocumento;
	private RegistroLinea registroLinea;
	private String digitochequeo;
	private Date fechaenvio;

	// Constructors

	/** default constructor */
	public ConstanciaVotacion() {
	}

	/** full constructor */
	public ConstanciaVotacion(String numerodocumento,
			RegistroLinea registroLinea, String digitochequeo, Date fechaenvio) {
		this.numerodocumento = numerodocumento;
		this.registroLinea = registroLinea;
		this.digitochequeo = digitochequeo;
		this.fechaenvio = fechaenvio;
	}

	// Property accessors
	@Id
	@Column(name = "NUMERODOCUMENTO", unique = true, nullable = false, insertable = true, updatable = true)
	public String getNumerodocumento() {
		return this.numerodocumento;
	}

	public void setNumerodocumento(String numerodocumento) {
		this.numerodocumento = numerodocumento;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumns( {
			@JoinColumn(name = "NUMERODOCUMENTO", referencedColumnName = "NUMERODOCUMENTO", unique = true, nullable = false, insertable = false, updatable = false),
			@JoinColumn(name = "PROCESO_ELECTORAL_ID", referencedColumnName = "PROCESO_ELECTORAL_ID", unique = false, nullable = false, insertable = false, updatable = false) })
	public RegistroLinea getRegistroLinea() {
		return this.registroLinea;
	}

	public void setRegistroLinea(RegistroLinea registroLinea) {
		this.registroLinea = registroLinea;
	}

	@Column(name = "DIGITOCHEQUEO", unique = false, nullable = false, insertable = true, updatable = true)
	public String getDigitochequeo() {
		return this.digitochequeo;
	}

	public void setDigitochequeo(String digitochequeo) {
		this.digitochequeo = digitochequeo;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHAENVIO", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFechaenvio() {
		return this.fechaenvio;
	}

	public void setFechaenvio(Date fechaenvio) {
		this.fechaenvio = fechaenvio;
	}

}